주성분 분석
IT 위키
더 많은 작업
- Principal Component Analysis; 주 성분 분석
- Covariance Matrix에서 Eigen Value가 가장 커지는 Eigen Vector를 찾는 과정
- 차원 축소 모델
- 비지도 학습
- 더 작은 차원 중 분산이 가장 큰 축을 찾는다.
- 시각화가 목적이라면 최대 3차원까지 줄여야 한다.
- 분석이 목적이라면 무관
여러 개의 양적 변수 사이의 분산-공분산 관계를 이용해, 원래 변수들의 선형결합으로 새 변수(주성분)를 만든다.
- 공분산 행렬(또는 상관계수 행렬)의 고유벡터가 주성분의 방향이고, 고유값이 그 방향의 분산이다.
- 분산이 가장 큰 선형결합을 제1주성분(PC1)으로 정한다. 그다음은 제1주성분과 직교하면서 남은 분산이 가장 큰 방향이 제2주성분이다. "분산이 가장 작은 것을 제1주성분으로" 는 틀리다.
- 주성분끼리는 서로 직교하므로 이론적으로 상관관계가 없다. 상관된 변수들을 상관없는 소수의 변수로 바꾸므로 다중 공선성 문제를 줄이는 데 쓴다.
- 데이터 중심에서 분산이 큰(퍼짐이 큰) 방향을 찾는 것이다. "응집력이 적은 방향" 이나 "정보손실량을 최대화" 하는 것이 아니다.
- 목표 변수 없이 변수들끼리의 관계만 보므로 비지도 학습이다. 지도학습이 아니다.
- 변수들이 정규분포를 따른다고 가정하지 않는다.
| 행렬 | 성질 | 쓰는 경우 |
|---|---|---|
| 공분산 행렬 | 변수의 측정 단위를 그대로 반영한다. 측정 단위에 민감하다 | 변수들의 단위가 같을 때 |
| 상관계수 행렬 | 모든 변수를 표준화한 것과 같다 | 단위가 서로 다를 때 |
같은 자료라도 정규화(표준화) 전후의 주성분 결과는 다르다.
- 누적 기여율(설명된 분산의 누적 비율)이 보통 80~90%(흔히 85%) 이상이 되는 지점까지 쓴다.
- 스크리 도표(scree plot)에서 고유값의 기울기가 완만해지기 직전까지 쓴다(엘보).
- 상관계수 행렬을 썼다면 고유값이 1 이상인 주성분만 남기기도 한다(Kaiser 기준).
- 변수들 사이에 상관관계가 있어야 적은 수의 주성분으로 줄이는 효과가 있다. 변수끼리 관계가 없으면 차원을 줄일 때 정보가 크게 준다. 상관관계를 제거하는 것 자체가 목적이므로 "상관관계를 제거하면 분석이 어려워진다" 는 틀리다.
- 요인 분석은 변수들 뒤에 숨은 잠재 요인을 찾는 것이고, 다차원 척도법은 개체 사이의 거리를 보존해 배치하는 것이다.
- 탐색적 데이터 분석(EDA)에서 변수의 구조를 파악하는 도구로도 쓴다 → 탐색적 데이터 분석
- Covariance Matrix
- Eigen Value
- Eigen Vector